

def cMA(s, i, m) -> float:
    """计算当前点的MA数值
    输入：s-close值序列，i-当前close值序号，m-MA值
    返回：当前点MA值
    """
    return s[i+1-m:i+1].mean()


def pMA(s, i, m, n=1) -> float:
    """计算前一个MA数值
    输入：s-close值序列，i-当前close值序号，m-MA值，n-向前步长
    返回：上一个MA值
    """
    return s[i+1-n-m:i+1-n].mean()


def nMA(s, i, m, n=1) -> float:
    """预估下一个MA数值
    输入：s-close值序列，i-当前close值序号，m-MA值，n-向后步长
    返回：预估下一个MA值
    """
    cma = cMA(s, i, m)
    delta = cMA(s, i, m)-pMA(s, i, m)
    return cma + n*delta
